Source needs a good cleanup. Evil loops that don't take advantage of
the geometry of the object abound.
+major todo:
+
+ - square hole placement is a total mess
+
*/
use <MCAD/nuts_and_bolts.scad>
-carriage_height = 65;
-carriage_width = 50;
+$fn = 64;
+
+carriage_height = 64;
+carriage_width = 52;
plate_width = 75; // wilson carriage is only 50mm wide!
plate_depth = 6; // wilson default depth = 8, makerfarm = 6
plate_cut_bolt = 3 + hole_tolerance;
plate_cut_x_bolt_offset = 10.5 + plate_cut_bolt / 2;
-plate_extra_height = 3; // make plate a bit taller so it is structurally sound
+plate_extra_height = 4; // make plate a bit taller so it is structurally sound
plate_height = plate_cut_height + plate_cut_y_offset + plate_extra_height;
lower_bolt_y_offset = 3.275 + plate_cut_bolt / 2;
carriage_bolt = 4 + hole_tolerance;
-carriage_hole_spacing = 24;
+carriage_hole_spacing = 23;
carriage_clearance = 20; // holes are 20mm from bottom of plate
carriage_y_offset = plate_cut_y_offset + plate_cut_height + carriage_clearance;
carriage_nut_depth = 3.2 + 3.2/2 + 0.1; // m4 nut depth + half of an m4 nut + tolerance
corner_radius = 3; // round off the corners to make it look nicer
shelf_mount ();
-translate ([(plate_width - carriage_width) / 2, plate_height - plate_extra_height, 0]) carriage_mount ();
+translate ([(plate_width - carriage_width) / 2, plate_height - plate_extra_height/2, 0]) carriage_mount ();
// mount to wilson x-carriage
module carriage_mount () {
#translate ([(carriage_width - carriage_hole_spacing) / 2, (carriage_height - carriage_hole_spacing) /2, 0])
for (x = [0, carriage_hole_spacing], y = [0, carriage_hole_spacing]) {
- translate ([x, y, 0]) circle (d = carriage_bolt, $fn = 16);
+ translate ([x, y, 0]) circle (d = carriage_bolt);
}
}
}
// upper shelf mount
translate ([0, plate_cut_y_offset, 0]) {
for (x = [-0.01, plate_cut_width + plate_cut_distance, plate_cut_width*2 + plate_cut_distance + plate_cut_center, plate_cut_width*3 + plate_cut_distance*2 + plate_cut_center + 0.01])
- translate ([x, 0, 0]) square ([plate_cut_width, plate_cut_height]);
+ #translate ([x - hole_tolerance/2, 0, 0]) square ([plate_cut_width + hole_tolerance, plate_cut_height]);
// looks like the bolt is at the midpoint between the cut outs
for (x = [plate_cut_x_bolt_offset, plate_width - plate_cut_x_bolt_offset])
- translate ([x, plate_cut_height / 2, 0]) circle (d = plate_cut_bolt + hole_tolerance, $fn = 16);
+ translate ([x, plate_cut_height / 2, 0]) circle (d = plate_cut_bolt + hole_tolerance);
}
// lower shelf mount
translate ([0, lower_cut_y_offset, 0]) {
- for (x = [-0.01, plate_width - plate_cut_width + 0.01]) {
+ for (x = [plate_cut_width/2 - 0.01, plate_width - plate_cut_width/2 + 0.01]) {
// lower cut out is closer to 6mm than 6.5mm in cad drawings
- translate ([x, -0.01, 0]) square ([plate_cut_width, plate_cut_height - 0.5]);
+ translate ([x, plate_cut_height/2, 0]) square ([plate_cut_width, plate_cut_height - 0.5], center=true);
}
// I think the intention is for the screw holes to be centered over the cut out
for (x = [lower_bolt_x_offset, plate_width - lower_bolt_x_offset])
- translate ([x, plate_cut_height + lower_bolt_y_offset, 0]) circle (d = plate_cut_bolt + hole_tolerance, $fn = 16);
+ translate ([x, plate_cut_height + lower_bolt_y_offset, 0]) circle (d = plate_cut_bolt + hole_tolerance);
}
}
}